namespace classifier_test
{

class svm_light_classifier : public classifier
{
public:
	svm_light_classifier();
	svm_light_classifier(const svm_light_classifier& Val);
	~svm_light_classifier();
	smart_ptr<classifier> clone() const;
	void serialize(serializer& Serializer);

	void train(subarray<const record* const> Data);
	void estimate(const record& Record, array<double>& Probs) const;

private:
	void* ModelPtr;
};

class svm_struct_classifier : public classifier
{
public:
	svm_struct_classifier();
	svm_struct_classifier(const svm_struct_classifier& Val);
	~svm_struct_classifier();
	smart_ptr<classifier> clone() const;
	void serialize(serializer& Serializer);

	void train(subarray<const record* const> Data);
	void estimate(const record& Record, array<double>& Probs) const;

private:
	void* ModelPtr;
	void* ParmPtr;
};

}
